# 常见的字符串

s1 = 'hello world'
s2 = "hello world"
s3 = '''hello world'''
s4 = """hello world"""
s5 = '''hello\nworld'''
s6 = """hello
world"""
s7 = '我是"湖南"人'
s8 = '我是\"湖南\"人'
s9 = 'I\'m bai'

# print(s1)
# print(s2)
# print(s3)
# print(s4)
# print(s5)
# print(s6)
# print(s7)
# print(s8)
# print(s9)

# print(s7[5])
# print(s8[3])  # 转移字符\不算的 输出 湖


'''
切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
序列对象 [开始位置下标:结束位置下标:步长]； 口诀：包头不包尾。

步长 (step) 控制切片时元素的 选取间隔 和 遍历方向：
正步长 (step > 0)：从左向右按间隔选取元素（默认 step=1）。
负步长 (step < 0)：从右向左反向选取元素（可实现序列反转）。
步长为 0：会触发 ValueError（非法操作）。
'''

# name = 'abcdefghijk'
# print(name[2:5:1])  # cde
# print(name[2:5])  # cde
# print(name[-4:-1]) # hij
# print(name[:5]) # abcde
# print(name[::-1]) # kjihgfedcba
# print()

# 字符串中的函数
s10 = 'hellopythonpyworld'
# print(s10)
# print(s10.find('ddd')) # find找到字符串的下标，则返回,否则返回-1
# print(s10.index('ddd')) # index找不到字符串的下标则报错

# 字符串大小写转换
s11 = 'hello world'
print(s11.upper())  # 所有元素转为大写 HELLO WORLD
s12 = 'HELLO WORLD'
print(s12.lower())  # 所有元素转为小写 hello world
print(s11.title())  # 每个单词第一个字符改为大写 Hello World

# 字符串对齐
s13 = 'hello'
print(s13.center(9))  # 返回长度为 width 的字符串，原字符串在其正中。 使用指定的 fillchar 填充两边的空位

# 字符串切割
sss = 'I am a student'
# print(sss.split(' ')) # 切割，返回一个列表 ['I', 'am', 'a', 'student']
# print(sss.partition(' '))  # 分割： 分隔符单独一个区。 ('I', ' ', 'am a student')
#
# print(sss.replace('student', 'worker'))  # 替换子串 I am a worker
